home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- ### BEGIN INIT INFO
- # Provides: bootlogd
- # Required-Start: mountdevsubfs
- # X-Start-Before: hostname keymap keyboard-setup procps pcmcia hwclock hwclockfirst hdparm hibernate-clean
- # Required-Stop:
- # Default-Start: S
- # Default-Stop:
- # Short-Description: Start or stop bootlogd.
- # Description: Starts or stops the bootlogd log program
- # which logs boot messages.
- ### END INIT INFO
-
- PATH=/sbin:/bin # No remote fs at start
- DAEMON=/sbin/bootlogd
- [ -x "$DAEMON" ] || exit 0
- NAME=bootlogd
- DESC="boot logger"
- BOOTLOGD_OPTS="-r -c"
- [ -r /etc/default/bootlogd ] && . /etc/default/bootlogd
- . /lib/init/vars.sh
-
- . /lib/lsb/init-functions
-
- # Because bootlogd is broken on some systems, we take the special measure
- # of requiring it to be enabled by setting an environment variable.
- case "$BOOTLOGD_ENABLE" in
- [Nn]*)
- exit 0
- ;;
- esac
-
- # Previously this script was symlinked as "stop-bootlogd" which, when run
- # with the "start" argument, should stop bootlogd. Now stop-bootlogd is
- # a distinct script, but for backward compatibility this script continues
- # to implement the old behavior.
- SCRIPTNAME=${0##*/}
- SCRIPTNAME=${SCRIPTNAME#[SK]??}
- ACTION="$1"
- case "$0" in
- *stop-bootlog*)
- [ "$ACTION" = start ] && ACTION=stop
- ;;
- esac
-
- case "$ACTION" in
- start)
- # PATH is set above
- log_daemon_msg "Starting $DESC" "$NAME"
- if [ -d /proc/1/. ]
- then
- umask 027
- start-stop-daemon --start --quiet --exec $DAEMON -- \
- $BOOTLOGD_OPTS
- ES=$?
- else
- $DAEMON $BOOTLOGD_OPTS
- ES=$?
- fi
- log_end_msg $ES
- ;;
- stop)
- PATH=/bin:/sbin:/usr/bin:/usr/sbin
- log_daemon_msg "Stopping $DESC" "$NAME"
- start-stop-daemon --oknodo --stop --quiet --exec $DAEMON
- ES=$?
- sleep 1
- log_end_msg $ES
- if [ -f /var/log/boot ] && [ -f /var/log/boot~ ]
- then
- [ "$VERBOSE" = no ] || log_action_begin_msg "Moving boot log file"
- # bootlogd writes to boot, making backup at boot~
- cd /var/log && {
- chgrp adm boot || :
- savelog -q -p -c 5 boot \
- && mv boot.0 boot \
- && mv boot~ boot.0
- }
- ES=$?
- [ "$VERBOSE" = no ] || log_action_end_msg $ES
- fi
- ;;
- restart|force-reload)
- /etc/init.d/bootlogd stop
- /etc/init.d/bootlogd start
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
- exit 3
- ;;
- esac
-
- :
-